package com.ruoyi.web.controller.tool;

/**
 * 设备操作类型枚举
 */
public enum DeviceOperationType {
    /**
     * 查询操作
     */
    QUERY("query", "查询"),

    /**
     * 冲洗操作
     */
    FLUSH("flush", "冲洗"),

    /**
     * 发送操作
     */
    SEND("send", "发送"),

    /**
     * 恢复出厂设置操作
     */
    RESET("reset", "恢复出厂设置");

    private final String code;
    private final String description;

    DeviceOperationType(String code, String description) {
        this.code = code;
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

    /**
     * 根据代码获取操作类型
     *
     * @param code 操作类型代码
     * @return 操作类型枚举
     */
    public static DeviceOperationType fromCode(String code) {
        for (DeviceOperationType type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        throw new IllegalArgumentException("未知的操作类型代码: " + code);
    }
}